home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / win / pascal / realm.exe / TESTREAL.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1992-04-12  |  1.2 KB  |  47 lines

  1.  
  2.  
  3.  
  4. Program TestRealModeMemoryAccess;
  5.  
  6.  
  7. {Test the Real_Mem unit by displaying the COM and LPT port base addresses from the
  8. BIOS area (0040h:0000h). No error trapping.
  9.  
  10.  
  11.  
  12. Rex K. Perkins, CIS 70651,1611
  13.  
  14. 10th April 1992}
  15.  
  16.  
  17.  
  18. Uses WinCRT,Real_Mem;
  19.  
  20. Const HexChars:String='01234567890ABCDEF'; {Hex digits. Hey, it works!}
  21.  
  22. Var MemoryArray:PRealSegment;
  23.     Count:Word;
  24.  
  25.  
  26.  
  27. Begin
  28.   MemoryArray:=GetRealSegment($0040);   {Get a pointer to the BIOS area}
  29.   If MemoryArray<>Nil Then              {Don't dereference a nil pointer}
  30.     Begin
  31.       For Count:=0 To 3 Do              {Display COM port addresses}
  32.         WriteLn('COM',Count+1,': ',HexChars[1+MemoryArray^[1+(Count SHL 1)] SHR 4],
  33.           HexChars[1+MemoryArray^[1+(Count SHL 1)] AND $F],
  34.           HexChars[1+MemoryArray^[Count SHL 1] SHR 4],
  35.           HexChars[1+MemoryArray^[Count SHL 1] AND $F]);
  36.  
  37.       WriteLn;
  38.  
  39.       For Count:=0 To 3 Do              {Display LPT port addresses}
  40.         WriteLn('LPT',Count+1,': ',HexChars[1+MemoryArray^[9+(Count SHL 1)] SHR 4],
  41.           HexChars[1+MemoryArray^[9+(Count SHL 1)] AND $F],
  42.           HexChars[1+MemoryArray^[8+(Count SHL 1)] SHR 4],
  43.           HexChars[1+MemoryArray^[8+(Count SHL 1)] AND $F])
  44.   End
  45. End.
  46.  
  47.